<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>jQuery.ajax(options)</title>
<meta name="keywords" content="jQuery 1.2 API Reference,Visual jQuery 1.2,jQuery doc,jQuery API,jQuery,jQuery 1.2 API 参考文档中文版,中文版" />
<meta name="description" content="jQuery 1.2 API 文档中文版，提供最新版 jQuery 开发帮助。" />
<link rel="stylesheet" type="text/css" href="../../style/jqueryapi.css" />
<script type="text/javascript" src="../../style/lib/jquery126.js"></script>
 </script>
<script type="text/javascript" src="../../style/jqueryapi.js"></script>
<link rel="shortcut icon" href="../../style/img/favicon.ico" />
</head>
<body>
<div id="topnav">
		<a href="http://www.jQuery.com/" title="jQuery官网" target="_blank" class="topnav">jQuery官网</a>
	<span class="topnav">|</span>
	<a href="http://jquery.org.cn/" title="jQuery中文网站" target="_blank" class="topnav">jQuery中文网站</a>
	<span class="topnav">|</span>
	<a href="http://www.cn-cuckoo.com/" title="1.1版译者" target="_blank" class="topnav">为之漫笔</a>
	<span class="topnav">|</span>
	<a href="http://shawphy.com/" title="1.2版翻译整理者" target="_blank" class="topnav">Shawphy</a>
    <span class="topnav">|</span>
	<a href="http://www.51toria.cn" title="CHM文档制作者:一揪" target="_blank" class="topnav">CHM文档制作者</a> 
	<span class="topnav">|</span>
	<a href="http://dl.getdropbox.com/u/81097/jQueryAPI_CHM.CHM" title="" target="_blank" class="topnav">CHM最新版本下载</a> 
</div>
<hr style="color:#595959;" />

<div class="content">
				<h1>jQuery.ajax(options)</h1>
				<div class="desc"><div>通过 HTTP 请求加载远程数据。</div> <div class="longdesc">jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。<p>$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象，但特殊情况下可用于手动终止请求。</p><p>$.ajax() 只有一个参数：参数 key/value 对象，包含各配置及回调函数信息。详细参数选项见下。</p><p><strong>注意：</strong> 如果你指定了 dataType 选项，请确保服务器返回正确的 MIME 信息，(如 xml 返回 "text/xml")。错误的 MIME 类型可能导致不可预知的错误。见 <a href="http://docs.jquery.com/Specifying_the_Data_Type_for_AJAX_Requests" title="Specifying the Data Type for AJAX Requests">Specifying the Data Type for AJAX Requests</a> 。</p><p><strong>注意：</strong>如果dataType设置为"script"，那么所有的远程(不在同一域名下)的POST请求都将转化为GET请求。(因为将使用DOM的script标签来加载)</p><p>jQuery 1.2 中，您可以跨域加载 JSON 数据，使用时需将数据类型设置为 <a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/" class="external text" title="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/">JSONP</a>。使用 <a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/" class="external text" title="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/">JSONP</a> 形式调用函数时，如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名，以执行回调函数。数据类型设置为 "jsonp" 时，jQuery 将自动调用回调函数。</p></div></div>
				<hr />
				<div class="desc"><div>Load a remote page using an HTTP request.</div> <div class="longdesc">This is jQuery's low-level AJAX implementation. See $.get, $.post etc. for higher-level abstractions that are often easier to understand and use, but don't offer as much functionality (such as error callbacks). <p>$.ajax() returns the XMLHttpRequest that it creates. In most cases you won't need that object to manipulate directly, but it is available if you need to abort the request manually. </p><p><strong>Note:</strong> If you specify the dataType option described below, make sure the server sends the correct MIME type in the response (eg. xml as "text/xml"). Sending the wrong MIME type can lead to unexpected problems in your script. See <a href="http://docs.jquery.com/Specifying_the_Data_Type_for_AJAX_Requests" title="Specifying the Data Type for AJAX Requests">Specifying the Data Type for AJAX Requests</a> for more information. </p><p>$.ajax() takes one argument, an object of key/value pairs, that are used to initialize and handle the request. See below for a full list of the key/values that can be used. </p> As of jQuery 1.2, you can load JSON data located on another domain if you specify a <a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/" class="external text" title="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/">JSONP</a> callback, which can be done like so: "myurl?callback=?". jQuery automatically replaces the&nbsp;? with the correct method name to call, calling your specified callback. Or, if you set the dataType to "jsonp" a callback will be automatically added to your Ajax request.</div></div>
				<h2>返回值</h2>
				<p class="indent">XMLHttpRequest</p>
				<h2>参数</h2>
				<p class="indent"><strong>options </strong>(可选) : AJAX 请求设置。所有选项都是可选的。</p>
				<h2>选项</h2>
				<p class="indent"><strong>async </strong>(Boolean) : (默认: true) 默认设置下，所有请求均为异步请求。如果需要发送同步请求，请将此选项设置为 false。注意，同步请求将锁住浏览器，用户其它操作必须等待请求完成才可以执行。</p>
				<p class="indent"><strong>beforeSend </strong>(Function) : 发送请求前可修改 XMLHttpRequest 对象的函数，如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。 <a href="http://docs.jquery.com/Ajax_Events" title="Ajax Events">Ajax 事件</a>.
				<div class="code">
					function (XMLHttpRequest) {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;this; // 调用本次AJAX请求时传递的options参数<br/>
}				</div></p>
				<p class="indent"><strong>cache </strong>(Boolean) : (默认: true,dataType为script时默认为false) jQuery 1.2 新功能，设置为 false 将不会从浏览器缓存中加载请求信息。</p>
				<p class="indent"><strong>complete </strong>(Function) : 请求完成后回调函数 (请求成功或失败时均调用)。参数：  XMLHttpRequest 对象和一个描述成功请求类型的字符串。 <a href="http://docs.jquery.com/Ajax_Events" title="Ajax Events">Ajax 事件</a>。 <div class="code">
					function (XMLHttpRequest, textStatus) {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;this; // 调用本次AJAX请求时传递的options参数<br/>
}				</div></p>
				<p class="indent"><strong>contentType </strong>(String) : (默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。</p>
				<p class="indent"><strong>data </strong>(Object,String) : 发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组，jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。</p>
				<p class="indent"><strong>dataFilter </strong>(Function) :给Ajax返回的原始数据的进行预处理的函数。提供data和type两个参数：data是Ajax返回的原始数据，type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
				<div class="code">
					function (data, type) {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;// 对Ajax返回的原始数据进行预处理<br/>
&nbsp;&nbsp;&nbsp;&nbsp;return data  // 返回处理后的数据<br/>
}				</div></p>
				<p class="indent"><strong>dataType </strong>(String) : 预期服务器返回的数据类型。如果不指定，jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText，并作为回调函数参数传递，可用值: <p>"xml": 返回 XML 文档，可用 jQuery 处理。</p><p>"html": 返回纯文本 HTML 信息；包含 script 元素。 </p><p>"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数</p><p>"json": 返回 JSON 数据 。</p><p>"jsonp": <a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/" class="external text" title="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/">JSONP</a> 格式。使用 <a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/" class="external text" title="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/">JSONP</a> 形式调用函数时，如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名，以执行回调函数。</p><p>"text": 返回纯文本字符串</p></p>
				<p class="indent"><strong>error </strong>(Function) : (默认: 自动判断 (xml 或 html)) 请求失败时调用时间。参数：XMLHttpRequest 对象、错误信息、（可选）捕获的错误对象。<a href="http://docs.jquery.com/Ajax_Events" title="Ajax Events">Ajax 事件</a>。 <div class="code">
					function (XMLHttpRequest, textStatus, errorThrown) {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;// 通常 textStatus 和 errorThrown 之中<br/>
&nbsp;&nbsp;&nbsp;&nbsp;// 只有一个会包含信息<br/>
&nbsp;&nbsp;&nbsp;&nbsp;this; // 调用本次AJAX请求时传递的options参数<br/>
}				</div></p>
				<p class="indent"><strong>global </strong>(Boolean) : (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件，如 ajaxStart 或 ajaxStop 可用于控制不同的 <a href="http://docs.jquery.com/Ajax_Events" title="Ajax Events">Ajax 事件</a>。</p>
				<p class="indent"><strong>ifModified </strong>(Boolean) : (默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。</p>
				<p class="indent"><strong>jsonp </strong>(String) : 在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分，比如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。</p>
				<p class="indent"><strong>password </strong>(String) : 用于响应HTTP访问认证请求的密码</p>
				<p class="indent"><strong>processData </strong>(Boolean) : (默认: true) 默认情况下，发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息，请设置为 false。</p>
				<p class="indent"><strong>scriptCharset </strong>(String) : 只有当请求时dataType为"jsonp"或"script"，并且type是"GET"才会用于强制修改charset。通常在本地和远程的内容编码不同时使用。</p>
				<p class="indent"><strong>success </strong>(Function) : 请求成功后回调函数。参数：服务器返回数据，数据格式。 <a href="http://docs.jquery.com/Ajax_Events" title="Ajax Events">Ajax 事件</a>。 <div class="code">
					function (data, textStatus) {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;// data 可能是 xmlDoc, jsonObj, html, text, 等等...<br/>
&nbsp;&nbsp;&nbsp;&nbsp;this; // 调用本次AJAX请求时传递的options参数<br/>
}				</div></p>
				<p class="indent"><strong>timeout </strong>(Number) : 设置请求超时时间（毫秒）。此设置将覆盖全局设置。</p>
				<p class="indent"><strong>type </strong>(String) : (默认: "GET") 请求方式 ("POST" 或 "GET")， 默认为 "GET"。注意：其它 HTTP 请求方法，如 PUT 和 DELETE 也可以使用，但仅部分浏览器支持。</p>
				<p class="indent"><strong>url </strong>(String) : (默认: 当前页地址) 发送请求的地址。</p>
				<p class="indent"><strong>username </strong>(String) : 用于响应HTTP访问认证请求的用户名</p>
				<h2>示例</h2>
				<p class="indent">
					加载并执行一个 JS 文件。
				</p>
				<p class="indent"><strong>jQuery 代码:</strong></p>
				<div class="code">
					$.ajax({<br/>
&nbsp; type: "GET",<br/>
&nbsp; url: "test.js",<br/>
&nbsp; dataType: "script"<br/>
});
				</div>
				<hr />
				<p class="indent">
					保存数据到服务器，成功时显示信息。
				</p>
				<p class="indent"><strong>jQuery 代码:</strong></p>
				<div class="code">
					$.ajax({<br/>
&nbsp;&nbsp; type: "POST",<br/>
&nbsp;&nbsp; url: "some.php",<br/>
&nbsp;&nbsp; data: "name=John&amp;location=Boston",<br/>
&nbsp;&nbsp; success: function(msg){<br/>
&nbsp;&nbsp;&nbsp;&nbsp; alert( "Data Saved: " + msg );<br/>
&nbsp;&nbsp; }<br/>
});
				</div>
				<hr />
				<p class="indent">
					装入一个 HTML 网页最新版本。
				</p>
				<p class="indent"><strong>jQuery 代码:</strong></p>
				<div class="code">
					$.ajax({<br/>
&nbsp; url: "test.html",<br/>
&nbsp; cache: false,<br/>
&nbsp; success: function(html){<br/>
&nbsp;&nbsp;&nbsp; $("#results").append(html);<br/>
&nbsp; }<br/>
});
				</div>
				<hr />
				<p class="indent">
					同步加载数据。发送请求时锁住浏览器。需要锁定用户交互操作时使用同步方式。 
				</p>
				<p class="indent"><strong>jQuery 代码:</strong></p>
				<div class="code">
					&nbsp;var html = $.ajax({<br/>
&nbsp; url: "some.php",<br/>
&nbsp; async: false<br/>
&nbsp;}).responseText; 
				</div>
				<hr />
				<p class="indent">
					发送 XML 数据至服务器。设置 processData 选项为 false，防止自动转换数据格式。
				</p>
				<p class="indent"><strong>jQuery 代码:</strong></p>
				<div class="code">
					&nbsp;var xmlDocument = [create xml document];<br/>
&nbsp;$.ajax({<br/>
&nbsp;&nbsp; url: "page.php",<br/>
&nbsp;&nbsp; processData: false,<br/>
&nbsp;&nbsp; data: xmlDocument,<br/>
&nbsp;&nbsp; success: handleResponse<br/>
&nbsp;});
				</div><p class="indent" style="text-align:center;">本手册由<a href="www.51toria.cn">一揪</a>整理编辑,并保持长期更新,最新版本请自行查找</p>
</div>

</body>
</html>
